Joint source-channel coding involves source (compression) coding and channel (error correction) coding. One example of source coding is arithmetic coding. Arithmetic coding is a form of entropy coding used in lossless data compression. In one example, arithmetic coding encodes/compresses an entire message into a single fraction n where (0.0≦n<1.0). When a bit string is arithmetically encoded, frequently used characters are stored with fewer bits and not-so-frequently occurring characters are stored with more bits, which results in fewer total bits.
If data is uncompressible, significant expansion of the data may occur during arithmetic encoding. To avoid this expansion, conventionally, source encoding of such data is generally bypassed.